#include "Bloque.h"

bool Advance::ejecutar(Transaccion& t){
     /* pongo la transaccion en la FEC */
     //TODO: definir el calculo del tiempo
     Sistema::getInstancia().ponerEnFEC(new EventoAdvance(1, &t));
     t.setProximoBloque(numero+1);
     return false;
}

bool Assign::ejecutar(Transaccion& t){
     /*  */
     if(suma){
	  
     }
     else if(resta){
	  
     }
     else{
	  
     }
     t.setProximoBloque(numero+1);
     return true;
}

bool Buffer::ejecutar(Transaccion& t){
     /* Pongo la transaccion en el fondo de la CEC */
     Sistema::getInstancia().ponerEnCEC(&t);
     t.setProximoBloque(numero+1);
     return false;
}

bool Terminate::ejecutar(Transaccion& t){
     /* Incremento el contador del sistema (transacciones
      * terminadas)*/
     //TODO: obtener parametro del incremento.
     Sistema::getInstancia().incrementarContador(1);
     return false;
}
